【使用篇】读取文件-高阶版
参考:https://www.jianshu.com/p/a40df43c08f6
example
实质:tensorflow 的一种缓存存储方式,通过 key-value 对进行存储
类型:
- key的数据类型为字符串
value的存储为列表格式,对应三种tensor类型:
VarLenFearure:value映射成sparseTensor,包含元素如下:
- indices:包含元素位置
- values:相应位置元素的取值
- dense_shape:tensor的shape
serialized = [ features { feature { key: "ft" value { float_list { value: [1.0, 2.0] } } } }, features { feature []}, features { feature { key: "ft" value { float_list { value: [3.0] } } }
FixedLenFeature:value映射成标准的矩阵
注:要读取要求输入数据是等长的
SparseFeature:
value内元素的类型包含三种:
- Bytes
- Float
- int64
说明:
- 列表类型代表弹性存储,即元素可拓展
- 按行读取,元素的提取、存储方式都是按行进行,如矩阵存储按行数存储
协议:
- value内元素数据类型的一致性
- value可为空列表
- value的长度可以不一样
解析
parse_example(serialized, features, name, example_name)
将example解析成字典格式的tensor
- serilized:
- features:
- name:
- example_name
说明:
- 在提取tfrecord数据时,需要设定读取数据的batch,分批次读取,在做解析时会按批次处理序列化的数据,即serilized
- features是解析出来的字典的数据格式,匹配到原始数据的key-value对应关系,每个value的数据格式即以上的三种tensor类型